home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / COMMUNIC / 2565.ZIP / XMIT.ZIP / XMIT.DOC < prev    next >
Text File  |  1989-10-28  |  17KB  |  595 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                                XMIT Version 2.01
  23.  
  24.                         An ASCII File-Transfer Utility
  25.  
  26.  
  27.                                    10-28-89
  28.  
  29.  
  30.  
  31.  
  32.                                       By
  33.                                   Randy Rasa
  34.                                  18215 Troost
  35.                                Olathe, KS 66062
  36.  
  37.                        Copyright (C) 1989 By Randy Rasa
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.                                    Contents
  48.                                   ----------
  49.  
  50.                    Purpose ......................... Page 1
  51.                    Disclaimer ...................... Page 2
  52.                    Distribution .................... Page 2
  53.                    Command-Line Parameters ......... Page 3
  54.                    Examples ........................ Page 4
  55.                    The Serial Cable ................ Page 5
  56.                    Revision History ................ Page 6
  57.                    Acknowledgements ................ Page 7
  58.                    Coming Attractions .............. Page 8
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.         XMIT Version 2.01 User's Manual                   Page 1
  70.  
  71.  
  72.         Purpose
  73.         -------
  74.  
  75.         XMIT is an ASCII file transmitter.  It can send a text file at
  76.         up to 115,200 baud, and all communication parameters are easily
  77.         set from the command line.
  78.  
  79.         XMIT grew out of a need to send hex-format files to a PROM
  80.         programmer at the highest possible speed.  Before I wrote XMIT,
  81.         I used a small, general-purpose terminal program.  It worked
  82.         fine, but transmit speed was limited to 9600 baud, and changing
  83.         communication parameters involved editing a configuration file.
  84.         I considered using one of the popular shareware communications
  85.         programs, some of which can send files every bit as fast as
  86.         XMIT, but I was put off by their size and complexities.  Also,
  87.         loading time was important.  With an EXE file of several
  88.         hundred kilobytes, these programs took forever to load.  Also,
  89.         there was no easy way to tell them what file to transmit from
  90.         the command line.
  91.  
  92.         So I wrote XMIT.  It is a simple little program, but extremely
  93.         specialized.  All it does is transmit files.  It cannot
  94.         receive, and you can't use it to connect to a bulletin board.
  95.         It will only transmit ASCII files.
  96.  
  97.         Who would want such a limited program?  Engineers, for one.  I
  98.         am an electronics engineer.  I design hardware and software for
  99.         small, micro-controller-based products.  When I'm writing and
  100.         testing software, I might need to transfer my program to an
  101.         EPROM several dozen times per day.  And with a large program,
  102.         that takes time.  Even at 9600 baud, it was taking three
  103.         minutes or so just to dump the program from my PC to the prom
  104.         programmer.  That's a lot of time spent just waiting.  And time
  105.         is money.
  106.  
  107.         XMIT saves me time.  At it's default setting of 19,200 baud
  108.         (which is the fastest speed my EPROM programmer can go), it
  109.         only takes half the time to dump a file to the programmer.  If
  110.         my programmer could handle it, XMIT would transmit even faster,
  111.         saving me more time still.
  112.  
  113.         XMIT is not for everyone.  But if you can use it, I think
  114.         you'll find XMIT extremely fast and easy to use.
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.         XMIT Version 2.01 User's Manual                   Page 2
  136.  
  137.  
  138.         DISCLAIMER OF WARRANTY
  139.         ----------------------
  140.  
  141.         THIS SOFTWARE AND MANUAL ARE OFFERED "AS IS" AND WITHOUT
  142.         WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER
  143.         WARRANTIES WHETHER EXPRESSED OR IMPLIED.  BECAUSE OF THE
  144.         VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS
  145.         PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR
  146.         PURPOSE IS OFFERED.
  147.  
  148.         GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE
  149.         THOROUGHLY TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT.
  150.         THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM.
  151.  
  152.  
  153.  
  154.  
  155.  
  156.         DISTRIBUTION
  157.         ------------
  158.  
  159.         XMIT is freeware.  You may use it, copy it, and give it away as
  160.         you wish.  Although no payment is required, if you send me
  161.         $5.00 I will send you the latest version of the program, along
  162.         with the QuickBASIC source code.  I'll also include a disk
  163.         containing other software I've written (games, utilities, and
  164.         applications) for you to evaluate. Since the media cost is
  165.         higher, I must ask for $1 more for a 3.5" disk.  Print the
  166.         REGISTER.PRN file, fill it out, and mail it in.  Your support
  167.         is appreciated.
  168.  
  169.         You are encouraged to distribute XMIT in its unmodified form,
  170.         consisting of the following three files:
  171.  
  172.                 XMIT.DOC        this file
  173.                 XMIT.EXE        the executable program
  174.                 REGISTER.PRN    registration form
  175.  
  176.         Public domain and shareware distribution services may
  177.         distribute this program, so long as the disk charge does not
  178.         exceed $5.
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.         XMIT Version 2.01 User's Manual                   Page 3
  202.  
  203.  
  204.         Command-Line Parameters
  205.         -----------------------
  206.  
  207.         All the communication parameters can be set from the command
  208.         line.  You have full control over baud rate, word length,
  209.         parity, communication ports, and handshaking.
  210.  
  211.         The syntax is:
  212.  
  213.            XMIT filename[,baud][,wl][,par][,sb][,port][,hs][,sound]
  214.  
  215.         The parameters are:
  216.  
  217.            filename - This is the ASCII text file you want to send.  It
  218.                       may be in the current directory, or in a location
  219.                       specified by a drive and path.  Wildcards are not
  220.                       supported.  You must specify a filename.
  221.  
  222.            baud - This is the baud rate at which you want to send the
  223.                   file.  Allowable baud rates are 110, 150, 300, 1200,
  224.                   2400, 4800, 9600, 19200, 38400, 57600, and 115200.
  225.                   The default baud rate is 19200.
  226.  
  227.            wl - This is the word length, or number of data bits in each
  228.                 word transmitted.  Valid word lengths are 7 and 8.  The
  229.                 default is 8 bit data.
  230.  
  231.            par - This is the type of parity checking used during
  232.                  transmission.  Valid types are N (no parity checking),
  233.                  O (odd parity), and E (even parity).  The default is
  234.                  N (no parity).
  235.  
  236.            sb -- This is the number of stop bits used for each byte of
  237.                  data transmitted.  This value may be either 1 or 2.
  238.                  The default is 1 stop bit.
  239.  
  240.            port - This is the communications port to transmit on, and
  241.                   may be either 1 (COM1) or 2 (COM2).  XMIT will check
  242.                   to make sure you actually have the port you specify,
  243.                   although it is up to you to determine if that port is
  244.                   free.  The default is COM1.
  245.  
  246.            hs - This is the type of handshaking used to prevent the
  247.                 sender from overrunning the receiver.   XMIT supports
  248.                 two possibilities:
  249.                    0 = no handshaking -- the sender simply transmits
  250.                        data as fast as it possibly can (the default).
  251.                    1 = CTS -- this is a hardware handshake.  The CTS
  252.                        (Clear-To-Send) line is controlled by the
  253.                        receiver.  When its buffer begins to get full it
  254.                        asserts CTS, which causes the transmitter to
  255.                        pause until the CTS line is cleared.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.         XMIT Version 2.01 User's Manual                   Page 4
  268.  
  269.  
  270.            sound - XMIT sounds a series of beeps when it finishes
  271.                    sending a files.  This is in case you've wandered
  272.                    off to do something else while the file is being
  273.                    transmitted.  If you find this sound obnoxious,
  274.                    turn the sound off (0).  The default is on (1).
  275.  
  276.         Only the filename is a required parameter.  All other
  277.         parameters are optional.  If a parameter is not specified, the
  278.         default will be used.
  279.  
  280.         Separate the parameters on the command line with commas,
  281.         without any spaces between parameters.
  282.  
  283.         If XMIT is executed without a file name or with invalid
  284.         parameters, it will display a help screen summarizing the
  285.         syntax and available options.
  286.  
  287.         Examples
  288.         --------
  289.  
  290.         Example #1:     XMIT project.hex,9600,,,,2
  291.  
  292.         This would tell XMIT to transmit the file "project.hex" at 9600
  293.         baud on COM2.  Since the parameters for word length, parity,
  294.         stop bits, handshaking, and sound are not specified, the
  295.         defaults of 8 data bits, no parity, 1 stop bit, no handshaking
  296.         and sound on would be used.
  297.  
  298.  
  299.         Example #2:     XMIT work.hex,38400,7,e,2,1,1,0
  300.  
  301.         This would tell XMIT to transmit the file "work.hex" at 38400
  302.         baud, with 7 data bits, even parity, and 2 stop bits on COM1
  303.         with CTS handshaking and no sound.
  304.  
  305.  
  306.         Example #3:     XMIT c:\project\program.hex
  307.  
  308.         This would tell XMIT to transmit the file "program.hex",
  309.         located in the "project" directory on drive C: using the
  310.         default communication parameters.
  311.  
  312.  
  313.         As you can see from the examples, you may specify any, all, or
  314.         none of the optional parameters on the command line.  If you
  315.         want to use the default value for a particular parameter, but
  316.         need to change one of the subsequent parameters, just put
  317.         nothing between the commas for the default parameter.  The
  318.         commas are important, though, as place-holders.  Case is not
  319.         important; the command line will be capitalized by XMIT.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.         XMIT Version 2.01 User's Manual                   Page 5
  334.  
  335.  
  336.         The Serial Cable
  337.         ----------------
  338.  
  339.         XMIT really only requires a three-wire serial cable to send
  340.         data.  The three required lines are Transmit Data (pin 2),
  341.         Receive Data (pin 3), and Signal Ground (pin 7).
  342.  
  343.         This is how the cable should look schematically:
  344.  
  345.            PC Serial Port                               Prom Programmer
  346.            --------------                               ---------------
  347.            TXD     2  --------------\ /-------------------- 2     TXD
  348.                                      X
  349.            RXD     3  --------------/ \-------------------- 3     RXD
  350.  
  351.            GND     7  ------------------------------------- 7     GND
  352.  
  353.  
  354.         As you can see, pins 2 and 3 on each connector should be
  355.         crossed.  That is, TXD (pin 2) on the PC should go to RXD (pin
  356.         3) on the programmer, and RXD (pin 3) on the PC should go to
  357.         TXD (pin 2) on the programmer.  GND (pin 7) on each connector
  358.         should be tied together.
  359.  
  360.         Actually, the RXD line is not needed, but if you're building a
  361.         cable, you might as well wire it up, since you can then use the
  362.         cable for other, more general, purposes.
  363.  
  364.         Other combinations are possible, this is just the easiest, and
  365.         the one I use.  Note that if you plan to use CTS handshaking,
  366.         you'll need to connect CTS (pin 5) on the PC to RTS (pin 4) on
  367.         the prom programmer.
  368.  
  369.         The pin numbers are for a standard DB-25 RS-232 serial
  370.         connector.  Some computers use a 9-pin serial connector.  If
  371.         so, you'll have to look up the correct pin numbers in your PC's
  372.         manual.
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.         XMIT Version 2.01 User's Manual                   Page 6
  400.  
  401.  
  402.         History
  403.         -------
  404.  
  405.         Version 1.00  06-17-89
  406.  
  407.         This was the initial release.  Although I experienced no
  408.         problems with the operation of the program, I found the Carrier
  409.         Detect requirement to be a hassle.  This was the fault of the
  410.         communications library I was using (QBSERIAL).  Although
  411.         excellent in every other way, the CD problem made me keep
  412.         looking for alternatives.
  413.  
  414.  
  415.         Version 2.00  08-15-89
  416.  
  417.         Not long after version 1.00 was released, I came upon a new
  418.         library called QUICKCOM.  Although a little less flexible (it
  419.         only allows COM1 and COM2 whereas QBSERIAL allowed COM1-4, and
  420.         it only supports one type of handshaking where QBSERIAL
  421.         supports three), it doesn't require Carrier Detect.  It was an
  422.         easy change to swap libraries, and I've been very pleased with
  423.         the new version.  XMIT 1.00 is still available if you need the
  424.         flexiblity offered by the earlier version, but don't care about
  425.         the CD requirement.
  426.  
  427.         Version 2.01  10-28-89
  428.           - Updated to version 1.10 of QUICKCOM
  429.           - Made XMIT freeware, rather than shareware, getting rid of
  430.             the advertisements and annoying delays.
  431.           - Changed the way I do the bar graph, start-up should be
  432.             faster now.
  433.           - Located and fixed bugs in stop bits and handshaking
  434.             parameter routines.
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.         XMIT Version 2.01 User's Manual                   Page 7
  466.  
  467.  
  468.         Acknowledgements
  469.         ----------------
  470.  
  471.         XMIT is written in QuickBASIC 4.5, with the QuickPak
  472.         Professional library providing file and video routines, and the
  473.         QUICKCOM library providing advanced communications routines.
  474.  
  475.         In case you're not familiar with these products, I can give an
  476.         unconditional recommendation to all three.
  477.  
  478.         QuickBASIC is produced by Microsoft Corporation, and you can
  479.         buy it at you favorite software store.
  480.  
  481.         QuickPak Profession is a library of tools and utilities for
  482.         QuickBASIC.  It is extremely comprehensive, improving BASIC's
  483.         file and video support, and adding mouse and EMS support.
  484.  
  485.                                Crescent Software
  486.                               11 Grandview Avenue
  487.                               Stamford, CT 06905
  488.  
  489.         QUICKCOM is a communications library for QuickBASIC written by
  490.         David Cleary.  It is a collection of powerful communication
  491.         support routines that make a program such as XMIT easy to
  492.         write.  Without QUICKCOM, this program would not even have been
  493.         possible, since QuickBASIC only supports baud rates up to 9600.
  494.         QUICKCOM should be available on bulletin boards nationwide, or
  495.         from the author:
  496.  
  497.                                  David Cleary
  498.                              Lakeview Terrace Ext.
  499.                              Sandy Hock, CT 06482
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.         XMIT Version 2.01 User's Manual                   Page 8
  532.  
  533.  
  534.         Coming Attractions
  535.         ------------------
  536.  
  537.         If there's interest, I have some ideas for improvements and
  538.         enhancements to XMIT:
  539.  
  540.                 - Add command-line options to set colors.
  541.  
  542.                 - If no filename or wildcards are specified, pop up a
  543.                   window showing available files, from which you can
  544.                   pick a file with cursor keys or a mouse.
  545.  
  546.                 - Add support for an XMIT environment variable to set
  547.                   up user-defined defaults and options.
  548.  
  549.         If any of these sound desireable, let me know and I'll get to
  550.         work on it.  If anyone has any other comments, suggestions, or
  551.         bug reports, I'll listen.  I can be reached at:
  552.  
  553.                                   Randy Rasa
  554.                                  18215 Troost
  555.                                Olathe, KS 66062
  556.  
  557.         ---------------------------------------------------------------
  558.                          Thanks for giving XMIT a try!
  559.         ---------------------------------------------------------------
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.